package aperturescience.types;

public interface CouchDBObject {
	public static final String ID = "_id";
	public static final String REV = "_rev"; 
	public org.json.JSONObject	getJSONObject();
	public org.restlet.ext.json.JsonRepresentation
								getJsonRepresentation();
	public boolean				setID( String dbCounter );
	public boolean				setRevision( String revision );
	public String				getID();
	public String				getRevision();
	public char					getIdPrefix();
	
	//JSONObject methods... They have no interface.
	public <T> java.util.Iterator<String>	keyIter();
	public java.lang.Object				get(String key)
		throws org.json.JSONException;
	public org.json.JSONObject			put(String key , Object value)
		throws org.json.JSONException;
}